/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package INTERFAZ;

import CONTROLES.ControlEmpresa;
import CONTROLES.ControlSucursal;
import MODELOS.Empresa;
import MODELOS.Sucursal;
import UTILITARIOS.Herramienta;
import UTILITARIOS.UTextField;
import java.awt.BorderLayout;
import java.awt.Choice;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.JFrame;
import javax.swing.*;
import javax.swing.border.TitledBorder;



/**
 *
 * @author Administrador
 */
public class FormSucursal extends JDialog implements Propiedades{

//     ControlUsuario control;

    private JLabel lblTitulo;

    private JPanel titulo;
    private JPanel formulario;
    private JPanel botones;

    private JLabel lblSucursal;
    private UTextField txtSucursal;

    private JLabel lblNitSucursal;
    private UTextField txtNitSucursal;

    private JLabel lblTelefono;
    private UTextField txtTelefono;

    private JLabel lblDireccion;
    private UTextField txtDireccion;

    private JLabel lblCiudad;
    private UTextField txtCiudad;

    private JLabel sucDpto;
    private Choice txtDpto;

    private JLabel lblFax;
    private UTextField txtFax;

    private JLabel lblEmail;
    private UTextField txtEmail;

   // private JLabel lblPagina;
   // private UTextField txtPagina;


    private JButton btnAceptar;
    private JButton btnCancelar;

    private ControlEmpresa emp = new ControlEmpresa();

    public FormSucursal()
    {

        setProperties();
        buildComponents();
        setPropertiesComponents();
        addComponents();
        addEvents();

    }





    public void setProperties() {
        setLayout(null);
		setSize(565, 330);
		setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
                setTitle("Registro de la Sucursal");
		getContentPane().setBackground(Color.BLACK);
		setResizable(false);
    }

    public void buildComponents() {

        lblTitulo = new JLabel("Registro/Edición de Empresa");

        lblSucursal = new JLabel("Nombre de la Sucursal(*) : ", JLabel.RIGHT );
        txtSucursal = new UTextField(UTextField.ONLY_CARACTERS_VALUE);
        

        lblNitSucursal = new JLabel("Nit Sucursal(*) : ", JLabel.RIGHT );
        txtNitSucursal = new UTextField(UTextField.INT_VALUE);
        

        lblTelefono = new JLabel("Telefono(*) : ", JLabel.RIGHT );
        txtTelefono = new UTextField(UTextField.PHONE_FAX_VALUE);

        lblDireccion = new JLabel("Dirección(*) : ", JLabel.RIGHT );
        txtDireccion = new UTextField();

        lblCiudad = new JLabel("Ciudad(*) : ", JLabel.RIGHT );
        txtCiudad = new UTextField(UTextField.ONLY_CARACTERS_VALUE);

        sucDpto = new JLabel("Departamento(*) : ", JLabel.RIGHT );
        txtDpto = new Choice();

        txtDpto.add("BENI");
        txtDpto.add("SANTA CRUZ");
        txtDpto.add("COCHABAMBA");
        txtDpto.add("LA PAZ");
        txtDpto.add("TARIJA");
        txtDpto.add("CHUQUISACA");
        txtDpto.add("PANDO");
        txtDpto.add("ORURO");
        txtDpto.add("POTOSI");

        lblFax = new JLabel("Numero de Fax(*) : ", JLabel.RIGHT );
        txtFax = new UTextField(UTextField.PHONE_FAX_VALUE);

        lblEmail = new JLabel("Correo Electrónico(*) : ",JLabel.RIGHT);
        txtEmail = new UTextField(UTextField.MAIL_VALUE);

//        lblPagina = new JLabel("Pagina Web : ",JLabel.LEFT);
  //      txtPagina = new UTextField();


        titulo = new JPanel();
        formulario = new JPanel();
        botones = new JPanel();

        btnAceptar = new JButton("GUARDAR");
        btnCancelar = new JButton("CANCELAR");
    }

    public void setPropertiesComponents() {
        titulo.setLayout(new BorderLayout(1,1));
        titulo.setSize(new Dimension(560,300));
        //titulo.setBackground(Color.DARK_GRAY);
        titulo.setBorder(BorderFactory.createTitledBorder(null,"Datos de la Sucursal",TitledBorder.CENTER , TitledBorder.DEFAULT_POSITION));
        //titulo.setLayout(new FlowLayout());

        formulario.setLayout(new FlowLayout());
        formulario.setSize(new Dimension(500,100));
        //formulario.setBackground(Color.WHITE);
       botones.setSize(250, 100);
       //botones.setBackground(Color.WHITE);

        //titulo.setBorder(Herramienta.createTitleBorder("Registro de Usuarios"));
        formulario.setBorder(Herramienta.createTitleBorder(""));
        botones.setBorder(BorderFactory.createTitledBorder(null,"ACCIONES",TitledBorder.CENTER , TitledBorder.DEFAULT_POSITION));

        Dimension dimLabel = new Dimension(130,20);
	Dimension dimText = new Dimension(290,20);
	Font fontLabel = new Font("Tahoma",Font.PLAIN,11);

                lblSucursal.setPreferredSize( dimLabel );
		lblSucursal.setFont(fontLabel);
                lblSucursal.setForeground(Color.BLACK);
		txtSucursal.setPreferredSize( dimText );
		

		lblNitSucursal.setPreferredSize(dimLabel);
		lblNitSucursal.setFont(fontLabel);
                lblNitSucursal.setForeground(Color.BLACK);
		txtNitSucursal.setPreferredSize(dimText);
               
		

		lblTelefono.setPreferredSize(dimLabel);
		lblTelefono.setFont(fontLabel);
                 lblTelefono.setForeground(Color.BLACK);
		txtTelefono.setPreferredSize(dimText);
		

                lblDireccion.setPreferredSize( dimLabel );
		lblDireccion.setFont(fontLabel);
                lblDireccion.setForeground(Color.BLACK);
		txtDireccion.setPreferredSize( dimText );
		

                lblCiudad.setPreferredSize(dimLabel);
		lblCiudad.setFont(fontLabel);
                lblCiudad.setForeground(Color.BLACK);
		txtCiudad.setPreferredSize(dimText);

                sucDpto.setPreferredSize( dimLabel );
                sucDpto.setFont(fontLabel);
                sucDpto.setForeground(Color.BLACK);
                txtDpto.setPreferredSize( dimText );
				
                lblFax.setPreferredSize( dimLabel );
		lblFax.setFont(fontLabel);
                lblFax.setForeground(Color.BLACK);
		txtFax.setPreferredSize( dimText );
		
                lblEmail.setPreferredSize(dimLabel);
                lblEmail.setFont(fontLabel);
                lblEmail.setForeground(Color.BLACK);
                txtEmail.setPreferredSize(dimText);

/*                lblPagina.setPreferredSize( dimLabel );
		lblPagina.setFont(fontLabel);
                lblPagina.setForeground(Color.RED);
		txtPagina.setPreferredSize( dimText );
*/

		//botones.setPreferredSize( new Dimension(250,25) );
		btnAceptar.setPreferredSize(new Dimension(110,20));
		btnCancelar.setPreferredSize(new Dimension(110,20));

		botones.setOpaque(false);

		btnAceptar.setToolTipText("guardar la sucursal");
                btnAceptar.setForeground(Color.BLACK);
		btnCancelar.setToolTipText("Cancelar la operación");
                 btnCancelar.setForeground(Color.BLACK);

		btnAceptar.setMnemonic('a');
		btnCancelar.setMnemonic('c');
    }




    public void addComponents() {

        formulario.add(lblSucursal);
        formulario.add(txtSucursal);

        formulario.add(lblNitSucursal);
        formulario.add(txtNitSucursal);

        formulario.add(lblTelefono);
        formulario.add(txtTelefono);

        formulario.add(lblDireccion);
        formulario.add(txtDireccion);

        formulario.add(lblCiudad);
        formulario.add(txtCiudad);

        formulario.add(sucDpto);
        formulario.add(txtDpto);

        formulario.add(lblFax);
        formulario.add(txtFax);

        formulario.add(lblEmail);
        formulario.add(txtEmail);

//        formulario.add(lblPagina);
  //      formulario.add(txtPagina);

        botones.add(btnAceptar);
        botones.add(btnCancelar);

        //titulo.add(formulario,BorderLayout.NORTH);
        //titulo.add(botones,BorderLayout.SOUTH);

        //formulario.add(botones, BorderLayout.SOUTH);
        add(titulo);
        titulo.add( "Center",formulario);
        titulo.add("South",botones);
        //titulo.add(botones,BorderLayout.SOUTH);

        //add(formulario);


    }

    public void addEvents() {
       btnAceptar.addActionListener( new ActionListener(){
			public void actionPerformed(ActionEvent e) {

                            ControlSucursal suc = new ControlSucursal();
                            Sucursal s = new Sucursal();
                            if(gettxtSucursal().isEmpty() || getTxtDireccion().isEmpty() || getTxtCiudad().isEmpty() || getTxtTelefono().isEmpty() || getTxtFax().isEmpty())
                            {
                                setVisible(false);
                                JOptionPane.showMessageDialog(null, "Se produjo un error al tratar de registrar la Sucursal o faltan campos por llenar", "Confirmación", JOptionPane.YES_OPTION);
                                setVisible(true);
                            }else
                            {
                            int telefono = Integer.parseInt(getTxtTelefono());
                            int fax= Integer.parseInt(getTxtFax());

                            
                            s.setNombreSuc(gettxtSucursal());
                            s.setDireccionSuc(getTxtDireccion());
                            s.setUbicacionSuc(getTxtCiudad());
                            s.setTelefonoSuc(telefono);
                            s.setFaxSuc(fax);
                            s.setEmailSuc(getTxtEmail());
                            s.setNitSucursal(Long.parseLong(gettxtNitSucursal()));
                            s.setDpto(getTxtDpto());

                            suc.guardarSucursal(s);
                            JOptionPane.showMessageDialog(null, "La Sucursal ha sido Registrado CORRECTAMENTE ", "Confirmación", JOptionPane.INFORMATION_MESSAGE);

                            setearCampos();
                            }

        		}
		});
                 btnCancelar.addActionListener( new ActionListener(){
			public void actionPerformed(ActionEvent e) {
				//JOptionPane.showMessageDialog(null, "Gracias por utilizar el sistema ", "Adventencia", JOptionPane.OK_OPTION);
                                //System.exit(0);
                            dispose();
			}
		});


               addWindowListener( new WindowAdapter(){
			@Override
			public void windowClosing(WindowEvent e) {
				//JOptionPane.showMessageDialog(null, "Seguro que quiere salir", "Adventencia", JOptionPane.OK_OPTION);
                                //System.exit(0);
                                dispose();

                        }
		});
    }

    public String getTxtCiudad() {
        String ciu;
        return ciu=txtCiudad.getText();
    }

    public void setTxtCiudad(String txtCiudad) {
        this.txtCiudad.setText(txtCiudad);
    }

     public String getTxtDpto() {
        return txtDpto.getSelectedItem();
    }

    public void setTxtDpto(String txtProcedencia) {
        this.txtDpto.select(txtProcedencia);
    }

    public String getTxtDireccion() {
        String dir;
        return dir=txtDireccion.getText();
    }

    public void setTxtDireccion(String txtDireccion) {
        this.txtDireccion.setText(txtDireccion);
    }

    public String getTxtEmail() {
        String email;
        return email=txtEmail.getText();
    }

    public void setTxtEmail(String txtEmail) {
        this.txtEmail.setText(txtEmail);
    }

    public String gettxtSucursal() {
        String emp;
        return emp=txtSucursal.getText();
    }

    public void settxtSucursal(String txtSucursal) {
        this.txtSucursal.setText(txtSucursal);
    }

    public String getTxtFax() {
        String fax;
        return fax=txtFax.getText();
    }

    public void setTxtFax(String txtFax) {
        this.txtFax.setText(txtFax);
    }

    public String gettxtNitSucursal() {
        
        return txtNitSucursal.getText();
    }

    public void settxtNitSucursal(String txtNitSucursal) {
        this.txtNitSucursal.setText(txtNitSucursal);
    }
/*
    public String getTxtPagina() {
        String pag;
        return pag=txtPagina.getText();
    }

    public void setTxtPagina(String txtPagina) {
        this.txtPagina.setText(txtPagina);
    }
*/
    public String getTxtTelefono() {
        String telf;
        return telf=txtTelefono.getText();
    }

    public void setTxtTelefono(String txtTelefono) {
        this.txtTelefono.setText(txtTelefono);
    }

    



    public void setearCampos()
    {
        settxtSucursal("");
        setTxtDireccion("");
        setTxtTelefono("");
        setTxtCiudad("");
        setTxtEmail("");
        setTxtFax("");
        
    }

    public static void main(String args[])
    {
        FormSucursal n = new FormSucursal();
        n.setVisible(true);

    }


}
